﻿using SQLite;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace com.IronOne.BoardPACWinAppDAO.DB
{
    public class Paper
    {
        [PrimaryKey]
        public int PaperId { get; set; }
        public string PaperRefNo { get; set; }
        public int RefId { get; set; } // MeetingId
        public byte? RefType { get; set; } // Type = 1 if meeting
        public string DocName { get; set; }
        public byte DocType { get; set; }
        public string CircularApprovals { get; set; }
        public string FileURL { get; set; }
        public byte IsCarryFWDfromLastMeeting { get; set; }
        public string CarryFWDinfo { get; set; }
        public string MemberApprovalsString { get; set; }
        public byte UserApprovalStatus { get; set; }
        public int AgendaOrder { get; set; }
        public byte PaperStatus { get; set; } //Board Secretary's final status
        public byte NotificationStatus { get; set; }
        public string NotificationDescription { get; set; }
        public string TimeStamp { get; set; }
        public string Info { get; set; }
        public DateTime LastUpadatedDateTime { get; set; }
        public string Description { get; set; }
        public byte DownloadStatus { get; set; }
        public int? HeadingID { get; set; }
        public string IsApprovable { get; set; }
        public String Actions { get; set; }
        public int VersionId { get; set; }
        public int VersionInfo { get; set; }
        public DateTime? DocCreatedDateTime { get; set; }
        private byte _scrollingDirection = 0;
        public byte ScrollingDirection
        {
            get { return _scrollingDirection; }
            set { _scrollingDirection = value; }
        }
        private byte _isPwdProtected = 0;
        public byte IsPwdProtected
        {
            get { return _isPwdProtected; }
            set { _isPwdProtected = value; }
        }

        //Paper Color RGB Values
        public int CellColorR { get; set; }
        public int CellColorG { get; set; }
        public int CellColorB { get; set; }

        //Presenter Information
        public string PresenterName { get; set; }
        public string PresenterEmail { get; set; }
        public string StartTime { get; set; }
        public string EndTime { get; set; }
        private byte _paperPresentedStatus = 0;
        public byte paperPresentedStatus
        {
            get { return _paperPresentedStatus; }
            set { _paperPresentedStatus = value; }
        }
        [MaxLength(500)]
        public string MemberApprovalComments { get; set; } //Approval/Rejection comment of the member who is using this app

        public byte IsAllowed { get; set; }
        public string UsersRestrictionStatus { get; set; }
        //public byte IsCarryFWDfromLastMeeting { get; set; }
        //public string CarryFWDinfo { get; set; }
                
        //public string MemberApprovalsString { get; set; } //Approvals of other BM
        //public byte UserApprovalStatus { get; set; } //Approval/Rejection of the member who is using this app
                
        public int SubCategoryId { get; set; }
        
        //public byte IsRestricted { get; set; }
         
        //public DateTime? LastUpdatedDateTime { get; set; }

        public byte IsUpdated { get; set; }
    }
}
